function out = calculate(arr)
    global Ns
    arrange=perms(1:Ns);
    res=10000000;
    for i=1:numel(arr)
        for j=1:factorial(Ns)
            x=zeros(Ns,Ns+2);
            k=1;
            for m=1:numel(arr{i})
                x(m,2:arr{i}(m)+1)=arrange(j,k:k+arr{i}(m)-1);
                k=k+arr{i}(m);
            end
            [out,c]=target(x);
            if c==0 && out<res
                res=out;
                io=i;jo=j;
                disp([num2str(io),', ',num2str(jo),', ',num2str(res)]);
            end
        end
    end
    out={res,arr{io},arrange(jo,:)};
end